﻿using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using Interfaces.RepositoryModels.ExternalModels.FilterModels;
using Interfaces.RepositoryModels.InternalModels.NewsInformationModels;

namespace Interfaces.RepositoryModels.InternalModels.UserRoleModels
{
    public class UserModel : ModelBase
    {
        [Key]
        [Column(Order = 2)]
        public string UserName { get; set; }
        
        [Key]
        [Column(Order = 3)]
        public string Email { get; set; }

        public string Password { get; set; }
        
        public virtual ICollection<RoleModel> Roles { get; set; }
        public virtual ICollection<CompanyFilterModel> CompanyFilters { get; set; }
        public virtual ICollection<IndustryFilterModel> IndustryFilters { get; set; }
        public virtual ICollection<QuoteisFilterModel> QuoteisFilters { get; set; }
        public virtual ICollection<SectorsFilterModel> SectorsFilters { get; set; }
        public virtual ICollection<NewsFilterModel> NewsFilters { get; set; }
        public virtual ICollection<XchangeRateFilterModel> XchangeRateFilters { get; set; }
        public virtual ICollection<NewsDataItemModel> FavoriteNews { get; set; }
        public virtual ICollection<LinkModel> FavoriteLinks { get; set; }
        public virtual ICollection<FeedModel> FavoriteFeeds { get; set; }
        public virtual ICollection<SessionModel> Session { get; set; }
    }
}
